Статья 3320

Название статьи

РАЗРАБОТКА САМОАДАПТИВНОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ НА ОСНОВЕ ТЕХНОЛОГИИ
ТРАССИРОВКИ ВЫЧИСЛИТЕЛЬНОГО ПРОЦЕССА 

Авторы

Бождай Александр Сергеевич, доктор технических наук, профессор, кафедра систем автоматизированного проектирования, Пензенский государственный университет (Россия, г. Пенза, Красная, 40), bam@pnzgu.ru
Евсеева Юлия Игоревна, кандидат технических наук, доцент, кафедра систем автоматизированного проектирования, Пензенский государственный университет (Россия, г. Пенза, Красная, 40), bam@pnzgu.ru
Гудков Алексей Анатольевич, кандидат технических наук, доцент, кафедра систем автоматизированного проектирования, Пензенский государственный университет (Россия, г. Пенза, Красная, 40), bam@pnzgu.ru

Индекс УДК

004.4 

DOI

10.21685/2072-3059-2020-3-3 

Аннотация

Актуальность и цели. Проблема создания универсальной технологии разработки самоадаптивного программного обеспечения (ПО) становится все более актуальной в последние годы, что обусловлено широтой применения сложных программных систем и высокими требованиями к их производительности и надежности. Целью статьи является описание принципов и перспектив разработки адаптивного ПО с использованием технологии трассировки вычислительного процесса. В качестве практического примера показана возможность использования популярного программно-аппаратного решения для такой трассировки – Intel Processor Trace, представляющего собой инструментарий для записи трасс выполнения программного кода с минимально необходимым для этого количеством информации. Анализируя накопленную совокупность трасс, можно оценить статистику исполнения различных фрагментов программного кода и сделать выводы об их сравнительной эффективности в различных условиях. Полученные данные могут быть положены в основу алгоритмов самооптимизации программных продуктов.
Материалы и методы. В качестве технологического решения для трассировки вычислительного процесса используется программно-аппаратное решение Intel Processor Trace. Предлагаемые методы формализации используют математический аппарат динамических графов.
Результаты. Предложена концепция использования трассировки вычислительного процесса для создания программных библиотек и инструментариев, нацеленных на разработку самоадаптивного ПО. Рассмотрены два основных пути практической реализации концепции: создание алгоритмов разработки самоадаптивных программных систем, функционирующих на аппаратной платформе Intel; разработка специализированной программной библиотеки для языка высокого уровня, позволяющей собирать и обрабатывать трассы вычислительного процесса. Предложен способ формального представления программных трасс на основе математического аппарата теории графов.
Выводы. Трассировка вычислительного процесса является программноаппаратной технологией, позволяющей отслеживать характерные особенности выполнения программного кода и описывать их минимально необходимым количеством информации. Анализируя собственные вычислительные трассы, программная система получает возможность низкоуровневого самоанализа с возможностью дальнейших действий, направленных на самоадаптацию к изменяющимся условиям функционирования. 

Ключевые слова

программная самоадаптация, адаптивные программные системы, трассировка вычислительного процесса, теория графов, динамический граф, Intel Processor Trace.

 

 Скачать статью в формате PDF

Список литературы

1. Chang, V. A Cybernetics Social Cloud / V. Chang. – N. Y. : Electronics & Computer Science, 2015.
2. Ding, Z. A software cybernetics approach to self-tuning performance of on-line transaction processing systems / Z. Ding, Z. Wei, H. Chen // J. Syst. Software. – Amsterdam : Elsevier, 2016. – P. 13–18.
3. Mayer, P. The autonomic cloud: a vision of voluntary, peer-2-peer cloud computing / P. Mayer, A. Klarl, R. Hennicker // 7th IEEE International Conference on Self- Adaptation and Self-Organizing Systems Workshops (SASOW). – Washington : IEEE Computer Society, 2013. – P. 89–94.
4. Бершадский, А. М. Исследование и разработка методов динамического ана-
лиза кода для создания самоадаптивного программного обеспечения / А. М. Бершадский, А. С. Бождай, Ю. И. Евсеева, А. А. Гудков // Моделирование, оптимизация и информационные технологии. – 2018. – № 4. – С. 108–120.
5. Processor Tracing // Intel Developer Zone. – URL: https://software.intel.com/content/ www/us/en/develop/blogs/processor-tracing.html (дата обращения: 23.08.2020).
6. Intel 64 and IA-32 ArchitecturesSoftware Developer’s Manual // Intel Developer Zone. – URL: https://software.intel.com/sites/default /files/managed/39/c5/325462-sdm-vol-1- 2abcd-3abcd.pdf (дата обращения: 23.08.2020).
7. Last Branch Record Trace //  Intel Developer Zoneэ. – URL: https://software.intel. com/content/www/us/en/develop/documentation/system-debug-legacy-userguide/ top/common-debugger-tasks/execution-trace/last-branch-record-trace.html (дата обращения: 23.08.2020).
8. Enhance performance analysis with Intel Processor Trace // Performance explained easy. – URL: https://easyperf.net/blog/2019/08/23/Intel-Processor-Trace (дата обраще- ния: 23.08.2020).
9. Jiang, C. A Survey of Frequent Subgraph Mining Algorithms / C. Jiang, F. Coenen, M. Zito // The Knowledge Engineering Review. – 2004. – № 1. – P. 1–31.
10. Elseidy, M. GraMi: frequent subgraph and pattern mining in a single large graph / M. Elseidy, E. Abdelhamid, S. Skiadopoulos, P. Kalnis // Proceedings of the VLDB Endowment. – N.Y. : ACM, 2014. – P. 445–450.
11. Karsten, M. Pattern Mining in Frequent Dynamic Subgraphs / M. Karsten, H. Kriegel, P. Wackersreuther // In Sixth International Conference on Data Mining (ICDM'06). – Washington : IEEE Computer Society, 2006. – P. 18–22.
12. Бождай, А. С. Метод рефлексивной самоадаптации программных систем / А. С. Бождай, Ю. И. Евсеева // Известия высших учебных заведений. Поволжский регион. Технические науки. – 2018. – № 2 (46). – С. 74–86.

 

Дата создания: 03.09.2020 09:39
Дата обновления: 03.12.2020 12:46